iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

程式碼結構與邏輯

bricks = []
for row in range(brick_rows):
    for col in range(brick_columns):
        brick_rect = pygame.Rect(col * brick_width, row * brick_height, brick_width, brick_height)
        bricks.append(brick_rect)

變數與結構介紹

  • bricks:這是一個空列表,用來存放所有建立好的磚塊矩形。
  • row 和 col:這兩個變數用來追蹤目前建立的磚塊所處的行列位置。
  • brick_rect:透過 pygame.Rect 創建一個矩形物件。這個矩形物件有四個參數,分別是磚塊的 x 座標、y 座標、寬度 (brick_width)、高度 (brick_height)。

雙重迴圈的運作方式

  • 最外層的 for row in range(brick_rows) 迴圈負責控制磚塊的行數。每次迴圈執行時,會依據 row 的值來設定磚塊在畫面上的 y 軸位置。
  • 內層的 for col in range(brick_columns) 則是控制列數。每個 col 的值會影響 x 座標,確保每個磚塊在同一行內水平排列,間隔為 brick_width。
  • 雙重迴圈結構確保了所有磚塊能依序排列在整齊的矩形陣列中,最終形成一個網格狀的磚塊區域。

位置計算與 pygame.Rect 矩形建立

  • 在迴圈中,使用 pygame.Rect(col * brick_width, row * brick_height, brick_width, brick_height) 來計算每個磚塊的矩形範圍。
  • col * brick_width 和 row * brick_height 分別代表磚塊在 x 軸和 y 軸的起始座標。隨著 col 和 row 的值增加,矩形物件會依序向右和向下排列。
  • 每個矩形物件都被存入 bricks 列表中,方便後續進行繪製及碰撞檢測。

我有嘗試著將磚塊顏色變換,但出乎意料居然是整條變色,我直接收穫了一個彩虹,每個顏色飽和度滿到不行,開一秒立馬關起來還原成舊版本,之後再來嘗試不一樣且好看的顏色自己玩。/images/emoticon/emoticon04.gif

那今天就先這樣。/images/emoticon/emoticon29.gif


上一篇
設定遊戲內的顏色與元素屬性
下一篇
遊戲主迴圈
系列文
從Python入門到自製遊戲:30天鐵人挑戰之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言